home *** CD-ROM | disk | FTP | other *** search
- > > > To TT-RAM I get 35.9 MB/s read and 16 MB/s write.
- > >
- > > That sounds rather low, but see below.
- >
- > Esspecially the write-access.
-
- Yes, but:
-
- > > 16 bit in that case). I guess the '040 might have to read the entire cache
- > > line first when writing, though, unless you use move16.
-
- > > (Assuming the AB040 does burst, which seems likely.)
- >
- > I can't see, why it shouldn't have it. It has a full-spec. 32-bit BUS with
- > the BUS clock being the external CPU clock.
-
- Exactly.
-
- > > According to Motorola's 680x0 optimization document:
- > > Saving/restoring registers:
- ...
- > > Which suggests that using movem for memory speed test isn't a good idea
- > > on that processor. I've no idea how large the difference is, though.
- >
- > It's funny that the 68060 doesn't act the same way as the 68040 in that
- > regard.
-
- Actually, the '040 is a very funny chip in many ways.
- '060 optimization can be quite different:
-
- Operations with long immediate values between -128 and 127:
-
- A: add.l #20,d1 B: moveq.l #20,d0
- add.l d0,d1
-
- 68040/xx: A
- 68000/20/60: B
-
- Keep memory operands in registers:
-
- A: add.l _var,d1 B: move.l _var,d0
- add.l _var,d2 add.l d0,d1
- add.l d0,d2
-
- 68040: A (as long as total # of instructions are less)
- 68000/20/60/xx: B
-
-
-
- 68040:
- Use as few instructions as possible (even if they are longer)
- Values can be kept in memory
- Avoid pipe-line stalls for some effective addresses
- Avoid subtracts to address registers
-
- 68060:
- Use short instructions
- Keep values in registers
- Schedule instructions for superscalar execution
- Inline short functions
-
- > > Trying to figure out the instruction timing tables is not simple, but to me
- > > it looks like succeding MOVEMs with four registers will take seven cycles
- > > each, while four simple MOVEs will only take four cycles.
- > > That is, it _might_ be possible to almost double the figures.
- >
- > Sounds reasonable enough. And me who always thought that `movem' was always
- > faster than every other move-instruction, no matter what brand of 68xxx CPU.
-
- Those seven cycles might be wrong, but at least Motorola clearly states that
- four MOVEs should be faster than one four register MOVEM, at least for
- stack pre-decrement accesses.
-
- It's strange though that Magnus reported cache read/write speeds of around
- 130 Mbyte/s, since 4 * 33 _is_ 132.
-
- > By the way, I found the reason for my ST-RAM access quotes.
-
- I thought something wasn't quite right. ;-)
-
- --
- Chalmers University | Why are these | e-mail: rand@cd.chalmers.se
- of Technology | .signatures | johan@rand.thn.htu.se
- | so hard to do | WWW/ftp: rand.thn.htu.se
- Gothenburg, Sweden | well? | (MGIFv5, QLem, BAD MOOD)
-
-